1. Field of the Invention
The present invention relates to the field of data processing systems. Specifically, the present invention relates to a method and apparatus for restoring basic functionality to a portable computer system which has lost the contents of volatile memory.
2. Related Art
As the components required to build a computer system have reduced in size, new categories of computer systems have emerged. One of the new categories of computer systems is the “palmtop” computer system. A palmtop computer system (otherwise known as a personal digital assistant or PDA) is a computer that is small enough to be held in the hand of a user and can be “palm-sized.” Most PDA computer systems are used to implement various Personal Information Management (PIM) applications such as an address book, a daily organizer and electronic notepads, to name a few.
It has proven useful to synchronize PDA computers to other computer systems. The synchronization process allows the two systems to exchange data or for the PDA to receive software from a host system. Conventionally, to synchronize to a desktop computer the user inserts the PDA into a cradle device, which is connected to the desktop computer system. The cradle provides electrical communication between the PDA and the host system. In this fashion, a single PDA may be synchronized with a single desktop. Alternatively, a server may synchronize with several PDAs connecting via a modem.
As PDA computer systems are designed for portability, they are battery operated. Additionally, some conventional PDAs store key software in volatile memory (RAM). Therefore, if the PDA's battery should fail, the key software will be lost. Conventionally, to restore the PDA a user may install a new battery into the PDA and ‘cold-boot’ the PDA. FIG. 1 shows a diagram for this configuration. The user puts the PDA 100 into the cradle device 60 and synchronizes to a desktop computer system 56. The PDA 100 uses synchronization code stored in non-volatile memory (ROM) 103. The desktop 56 has synchronization code 20, as well as restore code 22. Restore code 22 is sent to PDA 100 and stored in RAM 102. In so doing, basic functionality is restored to the PDA 100.
However, many users carry their PDAs with them in the field. For example, members of a sales force may each have a PDA that synchronizes with a common server. Restoring functionality to a PDA device in the field can be problematic. For example, the desktop computer which the user conventionally synchronizes with the PDA to restore functionality may be turned off, or the user may be otherwise unable to make a connection to the desktop remotely.
Furthermore, the user may be unable to synchronize the PDA to the server. This is because in some conventional systems, even though much of the synchronization software resides on the host system (server), a certain amount resides in the PDA's volatile memory. Importantly, the PDA software which allows synchronization to a server, as opposed to a desktop, is sometimes conventionally stored in RAM in the PDA. Additionally, the software which facilitates logging into the server is sometimes stored in RAM in the PDA. Consequently, after a device battery failure, a user may be unable to synchronize the PDA to a server because this software is gone.
PDAs also store user entered data, as well as software applications in volatile memory. While the data may be backed up periodically on a server or desktop computer, the PDA may be unable to access this data without the server synchronization software or a connection to the desktop. Furthermore, without synchronization software the user may be unable to remotely reload the application software onto the PDA. If the user had access to a desktop computer system, he could perhaps reload the software and synchronize the data. However, when in the field, this option is generally unavailable.
PDAs generally store operating system software in non-volatile memory. However, patches may periodically be made to the operating system by adding code to volatile memory. When the device loses power, these operating system patches are lost. Again, the user faces the problem of how to regain basic functionality when at a remote location.
Additionally, a user who loses a PDA device and purchases a replacement device may face the same problems as a user whose PDA lost the contents of memory.